Status Codes

Description

3-digit status codes that indicate the type of response being sent by a server.

The HTTP 1.1 specification defines a number of 3-digit status codes to indicate the type of response being sent by a server. A status code will be recorded for each request in the Access Log. A listing of the more common codes is below along with an explanation of each. The complete list of status codes can be found in RFC 2626 ( http://www.w3.org/Protocols/rfc2616/rfc2616.html ), which defines the HTTP standard.

2xx - Successful Status Codes

  • 200: OK

    The client request was successful and the server took the requested action. This typically indicates that the server received a valid request and sent the requested page/image/file/etc to the browser that requested it.

3xx - Redirection Status Codes

  • 302: found

    The requested resource can temporarily be found at a different URL. The Application Server uses a 302 status in the process of testing to see if the client browser supports cookies. You will typically see something like the following in your Access Log, which simply indicates that the server was testing for cookies on the browser.

    remote_ip - - 19/Sep/2002:18:07:47 -00 "GET /index.a5w HTTP/1.1" 302 77
    remote_ip - - 19/Sep/2002:18:07:51 -00 "GET /index.a5w?__cookie_flag HTTP/1.1" 200 3072
  • 304: Not Modified

    The requested file is the same on the server as it is in the client's cache. This code is similar to a 200, but the requested file is not actually sent back to the client. Instead the client displays the file from its cache.

4xx - Client Error Status Codes

  • 400: Bad Request

    The HTTP client (web browser) sent a malformed or incomplete request to the server. The most common cause of this is a client sending an HTTP/1.1 request and omitting the "Host:" header. If you experience this error, make sure you are using the latest version of your web browser. If the problem persists, you should try using a different web browser to access the server.

  • 403: Forbidden

    The requested file or directory exists on the server, but the browser is not allowed to access it. There are two common causes for this error.

    The first is a failure of the server to open the requested file on the server. This is usually caused by a file permission issue and can be fixed by verifying the file permissions for the requested page.

    The second is an attempt at "directory browsing", where the client requests a directory instead of a specific file, in an attempt to get a listing of all of the files in that directory. This can be remedied by creating a file with the name specified by the Default Page setting. The server will then display this page instead of the error message.

  • 404: Not Found

    The requested file or directory does not exist on the server. This error is typically caused by a bad link in another page on your server or some other web site.

  • 408: Request Timed Out

    The server tried reading the Request from the client for the number of seconds specified in the Request Body Read Timeout setting (default 60 seconds) but did not receive the full Request in that amount of time.

    This may be caused on a slow network when a Request is being received too slowly, typically during a file upload, and the server stops reading the Request in order to protect against malicious Requests from a DoS attack. In these cases, the Request Body Read timeout can be increased to allow more time for the full Request to be received by the server.

    This is also oftentimes caused by a known bug in Internet Explorer when AJAX POST Requests are being made and Keep-Alive is enabled on the server. Because of this bug, IE will send the headers for the Request, which indicate that the server should read some additional data, but then it never sends the data. The only server-side workaround for this bug in Internet Explorer is to disable Keep-Alive on the server. This however has server-wide performance implications for all browsers, not just IE, so it should be carefully considered by the server administrator.

    If the server's Error log is enabled, the 408 will be logged and the entry will include the number of bytes expected, the number of bytes received, and the elapsed time. In the case of the known IE bug, there will always be 0 bytes received. If there is some amount of data received but it is not complete, this indicates that the timeout value may need to be increased.

  • 412: Precondition Failed

    The client included a "If-Unmodified-Since" header in the request and the file has been modified since that time. This error will most likely not be seen by a browser as this header is typically only used by web caching agents.

  • 414: Request-URI Too Long

    The requested URI is too long. This is usually caused by a form that submits a large amount of data using the GET method. You should instead use the POST method for forms that submit a large amount of data. This is done in the tag as .

5xx - Server Error Status Codes

  • 500: Internal Server Error

    A general server error has occurred which is preventing this request from being properly processed. This will almost always be caused by an error in your Xbasic.

  • 501: Method Not Implemented

    The server does not support the requested HTTP method. The Alpha Anywhere Application Server supports HEAD, GET and POST. All clients must use one of these methods.

  • 503: Service Unavailable

    The server is unable to process the client request at this time. This usually indicates that your server has reached the maximum number of client sessions that it is licensed for and cannot accept a new session.

Limitations

Web publishing applications only.

See Also